import { post } from '@/utils/ajax'

// 查询角色列表
export function listRole(query) {
  return post('/system/role/search', query);
}

// 查询角色详细
export function getRole(roleId) {
  return post('/system/role/selectById', { 'id': roleId });
}

//查询角色名称是否唯一
export function checkRoleNameyUnique(roleName, roleId) {
  return post('/system/role/checkRoleNameUnique', {
    roleName,
    roleId
  });
}

//查询角色权限是否唯一
export function checkRoleKeyUnique(roleKey, roleId) {
  return post('/system/role/checkRoleKeyUnique', {
    roleKey,
    roleId
  });
}

// 新增角色
export function addRole(data) {
  return post('/system/role/insert', data);
}

// 修改角色
export function updateRole(data) {
  return post('/system/role/updateRowNotNullById', data);
}

// 根据角色ID查询组织树结构
export function roleDeptTreeselect(roleId) {
  return post('/system/role/roleDeptTreeselect', { roleId });
}

// 根据角色ID查询公司树结构
export function roleCompanyTreeselect(roleId) {
  return post('/system/role/roleCompanyTreeselect', { roleId });
}

// 角色数据权限
export function dataScope(data) {
  return post('/system/role/authDataScope', data);
}

// 角色状态修改
export function changeRoleStatus(roleId, status) {
  const data = {
    roleId,
    status
  };
  return post('/system/role/changeStatus', data);
}

// 删除角色
export function delRole(roleId) {
  return post('/system/role/deleteByIds', { 'ids': roleId });
}

// 导出角色
export function exportRole(query) {
  return post('/system/role/export', query);
}

// 根据角色ID查询该角色下用户清单
export function listUserByRoleId(query) {
  return post('/system/role/selectUserListByRoleId', query);
}